package pe.com.bn.sach.dao;

import java.util.List;



import pe.com.bn.sach.domain.Bnchf13Expediente;
import pe.com.bn.sach.domain.Bnchf41UnidadProc;
import pe.com.bn.sach.domain.Bnchf42Actividad;
import pe.com.bn.sach.domain.Bnchf51BandejaTrab;
import pe.com.bn.sach.domain.Bnchf51VersionExpediente;
import pe.com.bn.sach.domain.Bnchf52Movimiento;
import pe.com.bn.sach.seguridad.DatosSesion;




public interface Movimiento52DAO {

	 
	public List listaAprobEjecutadoCorreoExp(Bnchf13Expediente bnchf13Expediente) throws Exception;
	public void ActualizaMovimiento(Bnchf52Movimiento bnchf52Movimiento) 
	 throws Exception;
	
	public List ListaMovimiento(Bnchf52Movimiento bnchf52Movimiento) throws Exception;
	public void ActualizaExpediente(Bnchf13Expediente bnchf13Expediente) 
	 throws Exception;
	public void actactreturn(
			Bnchf52Movimiento updatemovimiento,
			Bnchf52Movimiento newdatemovimiento,
			Bnchf51BandejaTrab updatebandeja,
			String StadoExp,
			DatosSesion datosSesion,
			boolean actualizarBandeja
	) throws Exception; 
	public List consultaMovimiento(Bnchf52Movimiento bnchf52Movimiento) throws Exception;
	public List listamovimientocorreo(Bnchf51BandejaTrab bnchf51BandejaTrab) throws Exception;
	// public List listaBajaCorreoExp(Bnchf42Actividad bnchf42Actividad) throws Exception;
	public Bnchf42Actividad datossiguienteAct(Bnchf42Actividad bnchf42Actividad) throws Exception;
	public Bnchf42Actividad listadatossiguienteUP(Bnchf42Actividad bnchf42Actividad) throws Exception;
	public void ActualizaMovimientoDetener(Bnchf52Movimiento bnchf52Movimiento,DatosSesion datosSesion) 
	throws Exception;
	public List buscarMovimiento(Bnchf52Movimiento bnchf52Movimiento) throws Exception;
	public void actualizarDetener(Bnchf52Movimiento bnchf52Movimiento)throws Exception;
	public void cambiarFlag(Bnchf52Movimiento bnchf52Movimiento)throws Exception;
	public Bnchf52Movimiento buscarMovimientoxId(Bnchf52Movimiento bnchf52Movimiento)throws Exception;
	public void actualizarMovimiento(Bnchf52Movimiento bnchf52Movimiento) throws Exception;
	public void guardarMovimiento(Bnchf52Movimiento bnchf52Movimiento) throws Exception;
	public Long MAXIDMOVIMIENTO() throws Exception;
	public List listaBajaCorreoExp(Bnchf13Expediente bnchf13Expediente) throws Exception;
	public List listaCorreoMovimientoUPUP(Bnchf13Expediente bnchf13Expediente, Bnchf41UnidadProc origen, Bnchf41UnidadProc destino) throws Exception;
	public List listaCorreoTerminoFlujo(Bnchf13Expediente bnchf13Expediente) throws Exception;
	public List listaAnulaCorreoExp(Bnchf13Expediente bnchf13Expediente) throws Exception;
	public Bnchf51VersionExpediente versionAnterior(Bnchf51VersionExpediente bnchf51VersionExpediente)throws Exception;
	public Bnchf51VersionExpediente maxVersionEvaluacion(Bnchf51VersionExpediente bnchf51VersionExpediente)throws Exception;
		
}
